/*
 * AttributeFactory.java
 * 
 * Created on Oct 16, 2009, 2:51:55 AM
 *  19, November, 2011 Class renamed from AtributeFactory to AbstractAttribute
 * 
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package portfolio.dbHost.project.attributes;

import java.awt.event.MouseListener;
import java.util.Vector;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import portfolio.dbHost.dataBases.dbTable.Table;

/**
 *
 * @author ACA
 */
interface AbstractAttribute //OK, test it-> extends MouseListener
{
//    Table table = null;
    /**
     *
     */
    abstract public DefaultMutableTreeNode processHierarchy ( );
    /**
     *
     * @param dbTreeParam 
     * @param iXPos 
     * @param iYPos 
     */
    abstract public void getPopupOptions (JTree dbTreeParam, int iXPos, int iYPos);
    /**
     * 
     * 
     */
     abstract public String [] get ();
    /*
     * 
     */
    abstract public Object getTreeObject (Object [] oPathParam);
    /**
     * 
     * @throws java.lang.Exception 
     * 
     */
    abstract public void create () throws Exception;
    /**
     * 
     * 
     */
    abstract public void insert (Vector vValues) throws Exception;
    /**
     * 
     */
    abstract public Table getTable ();
//    {
//        return table;
//    }
    /**
     * 
     */
    //abstract public Vector read (Connection connection, String sDBName)  throws Exception;
}